package com.piggy.logi.sys.api.bo;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 运油下单请求参数
 *
 * @author fengxy
 * @date 2024/01/15 14:59
 **/
@Data
public class AddOrderBo {

    @NotNull(message = "服务商id不能为空")
    @ApiModelProperty(value = "服务商id")
    private Long deptId;

    @NotBlank(message = "众油平台采购订单号不能为空")
    @ApiModelProperty(value = "众油平台采购订单号")
    private String ownerOutCode;

    @NotBlank(message = "众油平台唯一订单id不能为空")
    @ApiModelProperty(value = "众油平台唯一订单id（提货单号）")
    private String pickupOrderNo;

    @NotBlank(message = "客户名称不能为空")
    @ApiModelProperty("客户名称")
    private String customerName;

    @NotBlank(message = "企业信用证信代码不能为空")
    @ApiModelProperty("企业信用证信代码")
    private String customerCode;

    @NotBlank(message = "发货方联系人不能为空")
    @ApiModelProperty("发货方联系人")
    private String shipContacts;

    @NotBlank(message = "发货方联系电话不能为空")
    @ApiModelProperty("发货方联系电话")
    private String shipContactTel;

    @NotNull(message = "发货地编码不能为空")
    @ApiModelProperty(value = "发货地编码（区级行政区域编码，例：440305）")
    private Integer originDistractId;

    @NotBlank(message = "发货地名称不能为空")
    @ApiModelProperty(value = "发货地名称（省+市+区，例：广东省深圳市南山区）")
    private String originDistractName;

    @NotBlank(message = "发货地详细地址不能为空")
    @ApiModelProperty(value = "发货地详细地址")
    private String originAddress;

    @NotBlank(message = "收货方联系人不能为空")
    @ApiModelProperty("收货方联系人")
    private String deliveryContacts;

    @NotBlank(message = "收货方联系人不能为空")
    @ApiModelProperty("收货方联系电话")
    private String deliveryContactTel;

    @NotNull(message = "收货地编码不能为空")
    @ApiModelProperty(value = "收货地编码（区级行政区域编码，例：440305）")
    private Integer destinationDistractId;

    @NotBlank(message = "收货地名称不能为空")
    @ApiModelProperty(value = "收货地名称（省+市+区，例：广东省深圳市南山区）")
    private String destinationDistractName;

    @NotBlank(message = "收货地详细地址不能为空")
    @ApiModelProperty(value = "收货地详细地址")
    private String destinationAddress;

    @NotBlank(message = "货物名称不能为空")
    @ApiModelProperty(value = "货物名称")
    private String goodsName;

    @NotNull(message = "货物类型不能为空")
    @ApiModelProperty(value = "货物类型：0.附属品 1.柴油 2.汽油")
    private Integer goodsType;

//    @NotBlank(message = "数量（件）不能为空")
    @ApiModelProperty("数量（件）")
    private String num;

    @NotBlank(message = "重量（吨）不能为空")
    @ApiModelProperty("重量（吨）")
    private String weight;

//    @NotBlank(message = "体积（立方）不能为空")
    @ApiModelProperty("体积（立方）")
    private String bulk;

    @NotNull(message = "预计提货时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "预计提货时间")
    private Date pickupTime;

}
